$(document).ready(function() { // 确保文档在完全加载后再执行内部代码
  const token = localStorage.getItem('token'); // 从 localStorage 获取 token
  const userId = localStorage.getItem('user_id'); // 从 localStorage 获取用户 ID
  const nickname = localStorage.getItem('nickname'); // 从 localStorage 获取昵称

  if (!token || !userId) { // 如果 token 或用户 ID 不存在
    alert('请先登录'); // 弹出提示要求用户先登录
    window.location.href = 'login.html'; // 跳转到登录页面
    return; // 停止后续代码执行
  }

  // 获取用户信息并填充表单
  axios.get(`http://localhost:9000/users/info?id=${userId}`, { // 发送 GET 请求获取用户信息
    headers: { 'Authorization': token } // 设置请求头中的授权信息
  }).then(response => { // 处理请求成功的响应
    if (response.data.code === 1) { // 如果获取用户信息成功
      const user = response.data.user; // 获取用户信息
      console.log(user); // 打印用户信息到控制台
      $('.username').val(user.nickname).prop('disabled', true); // 将用户名填充到表单并设置为不可修改
      console.log(user.username); // 打印用户名到控制台
      $('.age').val(user.age); // 将年龄填充到表单
      $('.gender').val(user.gender); // 将性别填充到表单
      $('.nickname').val(user.nickname); // 将昵称填充到表单
      console.log(user.nickname); // 打印昵称到控制台
    } else { // 如果获取用户信息失败
      alert('获取用户信息失败：' + response.data.message); // 弹出错误信息
      window.location.href = 'login.html'; // 跳转到登录页面
    }
  }).catch(error => { // 捕获请求错误
    console.error('获取用户信息出错：', error); // 在控制台打印错误信息
    alert('获取用户信息出错，请稍后重试'); // 弹出错误提示
  });

  // 表单提交事件
  $('#updateForm').on('submit', function(event) { // 为表单绑定提交事件监听器
    event.preventDefault(); // 阻止默认的表单提交行为
    const age = $('.age').val().trim(); // 获取并去除年龄输入框的前后空格
    const gender = $('.gender').val(); // 获取性别输入框的值
    const nickname = $('.nickname').val().trim(); // 获取并去除昵称输入框的前后空格

    axios.post('http://localhost:9000/users/update', { // 发送 POST 请求到更新用户信息接口
      id: userId, // 用户 ID
      age: age, // 年龄
      gender: gender, // 性别
      nickname: nickname // 昵称
    }, {
      headers: { 'Authorization': token } // 设置请求头中的授权信息
    }).then(response => { // 处理请求成功的响应
      if (response.data.code === 1) { // 如果修改用户信息成功
        alert('修改用户信息成功'); // 弹出成功提示信息
      } else { // 如果修改用户信息失败
        alert('修改用户信息失败：' + response.data.message); // 弹出错误信息
      }
    }).catch(error => { // 捕获请求错误
      console.error('修改用户信息出错：', error); // 在控制台打印错误信息
      alert('修改用户信息出错，请稍后重试'); // 弹出错误提示
    });
  });
});
